草庐IT

mysql - COUNT 与 RANK mysql

我想从我的数据库中获取员工的姓氏,比他收入高的员worker数,然后将员工的薪水降序排列;收入最高的员工为零。这是我的做法:SELECT0+COUNT(b.salary)rank,a.lname,a.salary,COUNT(*)ASemployee_countFROMemployeeaLEFTOUTERJOINemployeebONa.salary结果如下所示:到目前为止一切顺利。除了,博格甚至不应该在那里。因为没有人比他挣得更​​多。现在发生这种情况是因为使用了LEFTOUTERJOIN。我尝试使用INNERJOIN但它给出了语法错误。所以问题是我怎样才能让INNERJOIN与它一

mysql - 使用MySQL计算存在和不存在的数量

我正在尝试列出所有任务以及已完成/已完成任务的数量(在提交中)。问题是我还想显示所有没有用户完成的任务。此查询未列出count=0(Null)。有什么办法吗?想要的结果:Date|title|completed2014-05-20|Case1|452014-05-24|Case10|112014-05-20|Case2|0到目前为止我已经尝试过:Selectdate,title,count(*)ascompletedfromusersu,submissionss,tasktwhereu.userPK=s.userands.task=t.taskPKgroupbytaskPKorderb

php - 仅当行少于 5 时才选择 MYSQL

我有一个名为iv6_posts的表我只想选择记录少于5行的记录它应该在一个查询中像这样:selectIF((selectcount(*)fromiv6_posts) 最佳答案 你不能用普通的WHERE实现它,因为COUNT()是一个组函数,你不能使用普通的HAVING因为它将行分组。相反,您必须评估不同查询中的总计数并将其与例如CROSSJOIN相结合:SELECTiv6_posts.*FROMiv6_postsCROSSJOIN(SELECTCOUNT(1)AScFROMiv6_posts)ASinitWHEREc检查fiddle

mysql - 从 MySQL 中的 2 个表中执行 SELECT COUNT

我有2个表STUDENT和COURSE。STUDENT有以下列:SIDINTERGERNAMEVARCHARDEPARTMENTINTEGERREGISTRATIONDATEDATECOURSE有以下列:CIDINTERGERSIDINTERGERENROLLEDATE我想按部门获得每个注册日期的学生总数,以及该注册日期每门类(class)注册的学生人数,这可以通过注册日期和注册日期+28之间的注册来确定如果我的输入数据是:STUDENT:1,John,CS,11/01/20142,Jim,CS,11/01/20143,Jane,LAW,10/01/20144,Rose,Enginee

mysql - ORDER BY 与 CASE MySQL

我有一个“积分榜”查询,它显示了我所在联赛的统计数据。我试图根据一些条件对查询进行排序。如果球队积分排名1-25,则按胜场、积分排序如果球队排名在前25名之外(积分第26至42名),则按积分排序。我能描述的最好方式是它应该像两个表一样工作。排名(1-25)的团队应该放在一起排序,排名(26-42)的团队应该放在一起排序。这是我的查询。SELECTm.TeamASteam,SUM(r.points)ASpoints,SUM(CASEWHENrank=1THEN1ELSE0END)ASWins,SUM(CASEWHENrank25THENpointsENDDESC,pointsDESC;由

python - Django:无论返回的查询大小如何,链式过滤器上的 queryset.count() 都比单个过滤器慢得多——有解决方案吗?

编辑:最好的解决方案感谢Hakan--queriedForms.filter(pk__in=list(formtype.form_set.all().filter(formrecordattributevalue__record_value__contains=constraint['TVAL'],formrecordattributevalue__record_attribute_type__pk=rtypePK).values_list('pk',flat=True))).count()我尝试了他的更多建议,但我无法避免INNERJOIN——这似乎是一个稳定的解决方案,确实让我变小

MySQL:你如何计算一行中的非空字段,然后计算相同的值?

请记住,我无法规范化表格,所以我必须使用我得到的东西。在表格中,行与此类似name|widget1|widget2|widget3------+-----------+----------+----------Joe|blue|red|Jane|green||Bob|red|red|greenSusy|green|green|我想做的是计算小部件的总数(Joe有2个小部件,Jane有1个,等等),并计算相似小部件的数量(Bob有3个小部件-2个红色和1个绿色,Susy有2个小部件-2个绿色等)这是我计算小部件总数的代码:SELECT(SUM(IF(widget1"",1,0))+SUM

php - 跟踪页面浏览量并显示每日、每周、每月的结果

平台:PHP5、MySQL我有一个网站,可以显示按类别分类的文章。我想跟踪每篇文章的浏览量。然后,在侧栏中,显示当天、过去一周内和上个月内查看次数最多的5篇文章。你认为最好的方法是什么?每个View在数据库中一行(article_id,时间戳)?服务器的最少工作量是多少?谢谢,乔 最佳答案 这可能会成为一个棘手的问题。如果您只存储原始命中,您的表将快速增长并且处理数字变得更加耗时。因此,解决此问题的一种方法是创建聚合表并使用cron作业处理数字。例如,您可以有以下表格hit_count:article_id,时间戳hit_count

mysql - 无法声明变量 SQL

我一直在尝试声明一个整数变量,但它就是不起作用。这是我的查询:DECLARE@countINTSET@count=5633SELECTcount(matchid)FROM`matches`WHEREid=@count我收到这个错误:ErrorCode:1064.YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'DECLARE@countINTSET@count=5633请帮忙:) 最佳答案

MySQL 计数行包括零(非常接近我想要的!)

我知道我很接近,但它正在杀死我。这里需要一双新鲜的眼睛...SELECTfirst_name,COUNT(*)FROM(SELECTfirst_name,job_statusFROMtypesettingLEFTJOINemployeesONtypesetting.employees_id=employees.idLEFTJOINjob_statusONtypesetting.job_status_id=job_status.idWHEREjob_statusNOTLIKE'Archived'ORDERBYfirst_nameASC)ASCNTGROUPBYfirst_name这让我: