Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql查询中讨厌的IF/THEN语句_Mysql_Database - Fatal编程技术网

mysql查询中讨厌的IF/THEN语句

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

我选择了大量的数据,这些数据实际上有一条长长的无用的尾巴

我试图切断这个查询,这样它就不会显示少于500个结果的任何内容

我为解决这一问题所做的所有谷歌搜索都证明不是很有帮助

您知道如何构造查询以将此数据限制为仅显示计数为500或更多的站点吗

> 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 have
query=(“选择站点,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