mysql查询中讨厌的IF/THEN语句
我选择了大量的数据,这些数据实际上有一条长长的无用的尾巴 我试图切断这个查询,这样它就不会显示少于500个结果的任何内容 我为解决这一问题所做的所有谷歌搜索都证明不是很有帮助 您知道如何构造查询以将此数据限制为仅显示计数为500或更多的站点吗mysql查询中讨厌的IF/THEN语句,mysql,database,Mysql,Database,我选择了大量的数据,这些数据实际上有一条长长的无用的尾巴 我试图切断这个查询,这样它就不会显示少于500个结果的任何内容 我为解决这一问题所做的所有谷歌搜索都证明不是很有帮助 您知道如何构造查询以将此数据限制为仅显示计数为500或更多的站点吗 > select * from site, count(*) as count > from myTable > where year(created_at) = 2012 > group by site order by c
> select * from site, count(*) as count
> from myTable
> where year(created_at) = 2012
> group by site order by count DESC limit 10000
编辑
我意识到我使用的是MSSQL语法,而不是MySQL
另请参阅
如果只想选择结果超过500的行,则需要在其中输入“having count>500”
WHERE不适用于聚合函数。您可以使用
have
筛选分组值:从选项卡中选择count(*),其中y按z分组have count(*)>500
@arnep I havequery=(“选择站点,count(*)作为myTable中的count,WHERE year(created_at)=2012按站点分组have count(*)>500 order by count DESC”)。以_a
为例,它不会出于某些原因过滤掉500以下的任何内容,因为某些原因,这些内容不起作用。我仍然得到所有这些长尾结果肖恩,谢谢你的回复。我已将其完全复制,但由于某些原因,它无法工作…我不确定原因。您的SQL语法中有错误;查看与MySQL服务器版本相对应的手册,了解在第1行使用“count(*)作为myTable where year(created_at)=2012 group by site havin”的正确语法。当我在Sequel pro中执行查询时,可能是因为第1行和第2行中的“from”行吗?这就是正确的语法。我复制并粘贴了您的查询,假设它是功能性的,并简单地将“having count>500”添加到它应该去的地方,但现在我查看了您的查询,它没有任何意义。应该是这个吗<代码>选择*,计数(*)作为myTable中的计数,站点…
是否改为?
select
site ,
count(*) as val
from
myTable
where
year(created_at) = 2012
and
val > 500
group by
site
HAVING COUNT(*) > 500
select * from site, count(*) as count
from myTable
where year(created_at) = 2012
group by site having count>500 order by count DESC limit 10000