MySQL按计数排序子查询

时间:2018-09-15 17:06:50

标签: mysql sql select count subquery

我有一个“作者”表,其中包含作者(昵称和ID)。

在“内容”表中,每个项目都有一个“作者”字段,其中包含创建它的作者的ID。

我想使用SELECT查询选择所有作者,并按照他们创建的内容量对他们进行排序

这是我到目前为止尝试过的:

SELECT id,Nickname FROM Authors 
WHERE 1 ORDER BY (SELECT COUNT(*) FROM Content WHERE Author=id) ASC

它运行,但是输出无效-它没有特定的顺序...

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您可以使用:

const add = require(./module.js)

  add(1,2, (err, result) => {

  }

答案 1 :(得分:1)

这应该做您想要的:

library(shiny)
library(ggplot2)
library(tidyverse)
library(gridExtra)

df<-iris[,colnames(iris)!="Species"]

ui<-fluidPage(

  titlePanel("Density Plots of Quantitative Variables"),
  sidebarLayout( sidebarPanel( sliderInput("bw","Slide to change bandwidth 
                                           of Plot",min=0.1,max=20,value=3,step=0.1,animate=TRUE),

                               checkboxGroupInput("variableinp","Choose variables",
                                                  choices=colnames(df),selected = colnames(df)[1]),verbatimTextOutput("value")
  ),
  mainPanel( plotOutput("densityplot"))
  )
  )


server<-function(input,output){

  # observeEvent(input$variableinp, {
  #      print((input$variableinp))
  #  })

  output$densityplot <- renderPlot({

    if(!is.null(input$variableinp)) {

      getoutandquant <- function(x) {
        q1<-quantile(x)[[2]]
        q3<-quantile(x)[[4]]
        IQR<-q3-q1

        out1<-q3+(1.5)*IQR
        out2<-q1-(1.5)*IQR

        #Finding the list of points which are outliers for a particular 
        out<-x[x>out1]
        out2<-x[x<out2]
        outliers<-tibble(x=c(out,out2),y=0)

        return(outliers)
      }
      nplot<-length(input$variableinp)
      x<-input$variableinp

      p<-list()
      for ( i in 1:nplot) {
        outlier<-getoutandquant(df[,x[i]])
        p[[i]]<-ggplot(df,aes_string(input$variableinp[i]))+
          stat_density(geom="line",adjust=input$bw)+ ylab("Density\n")+
          geom_point(data=outlier,aes(x,y),shape=23)
      }    
      do.call(grid.arrange,p)
    }
  })
}


shinyApp(ui=ui,server=server)

这使相关性明确。如果SELECT a.id, a.Nickname FROM Authors a WHERE 1 ORDER BY (SELECT COUNT(*) FROM Content c WHERE c.Author = a.id) ASC; 有一个Content列,则您的版本将产生未排序的结果-这很可能。

更常见的是,您希望在id中进行计数,然后执行以下操作:

SELECT