Mysql按计数或其他东西选择顺序

时间:2013-05-28 15:48:39

标签: mysql count

我有简单的电影数据库,我想知道是否可以通过COUNT订购,每个类别有多少部电影? 我尝试了查询

SELECT COUNT(category), movie_name FROM movies group by category我收到了4行,这意味着他们都被计算在内。 4喜剧

如果我按照movie_name设置相同的查询和分组,我会得到(几乎)正确的顺序 1喜剧 2恐怖 1西方

但我希望按照每个类别的电影数量来订购 1喜剧 1西方 2恐怖

任何人都可以帮助我吗? 谢谢, 伊凡。

我道歉,但我提出了错误的问题,这就是为什么我没有收到有效查询的原因。如果我有电影名称“Inception,Saw,Star Wars”,并且喜欢那些所有电影都有价值1(真实)的电影,那么我有4条记录就是这样的:Saw 1,Star Wars 1,Star Wars 1和Inception 1.这里是查询SELECT COUNT(like),movie_name FROM movies WHERE like = 1 group by like。就像我说的每个人都有一个值1(这是真的)。现在我需要按计数点赞。

1 个答案:

答案 0 :(得分:1)

尝试在第一列使用oder by(返回计数),使用它的位置为:

  SELECT COUNT(movie_name), category FROM movies group by category order by 1 asc;

您还可以在订单查询中使用列别名:

 SELECT COUNT(movie_name) as total_movies, category
 FROM movies 
 group by category 
 order by total_movies asc;

编辑:根据您的输入,您需要按movie_name分组

  SELECT COUNT(like), movie_name 
  FROM movies 
  WHERE like=1 
  GROUP BY movie_name 
  ORDER BY 1 DESC;