草庐IT

CREATED_BY

全部标签

MySQL - GROUP BY 和 DISTINCT 有什么区别?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:IsthereanydifferencebetweenGroupByandDistinctMySQL查询中的GROUPBY和DISTINCT有什么区别?

PHP & MySQL : using group by for categories

我的数据库有以下设置productid|productname|categoryid我想像这样输出它们:category#1item1item2item3category#2item1item2item3我通过将它们分组在一起来使用分组并且工作正常,但我想遍历每个组并显示该组的内容。我该怎么做? 最佳答案 我建议只使用一个简单的查询来获取所有行,并按类别ID排序。仅当其值与上一行相比发生变化时才输出类别。query("SELECT*FROM`myTable`ORDERBYcategoryID");$current_cat=null;

mysql - Query中Group by的奇怪行为需要优化

谁能帮我优化这个查询SELECT`debit_side`.`account_code`CODE,GROUP_CONCAT(DISTINCTaccounts.name)ASDebitAccount,GROUP_CONCAT(debit_side.amount)ASDebitAmount,GROUP_CONCAT(transaction_info.voucher_date)ASDebitVoucherDate,(SELECTGROUP_CONCAT(DISTINCTaccounts.name)FROM(accounts)LEFTJOINdebit_sideONaccounts.code=d

mysql - 如何提高 COUNT(DISTINCT field1)... GROUP BY field2 的性能?

我有以下查询EXPLAINSELECTCOUNT(DISTINCTip_address)asip_address,exec_dateFROMrequestsGROUPBYexec_date;idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1SIMPLErequestsrangeNULLdaily_ips263NULL488213Usingindexforgroup-by(scanning)具有覆盖索引daily_ipsTableNon_uniqueKey_nameSeq_in_indexColumn_nameCollat

php - Mysql - 如何在Order by之后获取行号?

假设我有一个包含以下列的表格:p_id用户名点数假设这些列有超过5000条记录。所以我们实际上有带积分的用户。每个用户的积分记录都有一个唯一的行。想象一下,每个用户都可以通过点击某个地方来获得网站上的积分。当他们点击时,我会用他们得到的分数更新数据库。所以我们有一张表,上面有5000多个有积分的人的记录,对吗?现在我想按分数(降序)对它们进行排序,这样如果我运行MySQL查询,分数最高的用户将位于页面顶部。我可以通过简单地运行这样的查询来做到这一点:SELECT`p_id`FROM`point_table`ORDERBY`points`DESC此查询将按点降序给我所有记录。好的,我的问

mysql - 从 GROUP BY 中获取 MAX

当我遇到这个问题时,我正在练习一些SQL。我想看看某种商品出现了多少次,然后从那里得到出现最多的商品。这显示了每种商品出现的次数:mysql>SELECTcommodity,COUNT(commodity)countFROMordersGROUPBYcommodityORDERBYcount;+----------------------+------------+|commodity|count|+----------------------+------------+|PERSIANMELON|4||BEANS|6||CASABA|10||ASPARAGUS|11||EGGPLAN

使用 datetime 时的 MySQL GROUP BY 日期

在MySQL中,假设我有一个表,其中包含一个名为“actionTime”的列,声明为“日期时间”(YYYY-MM-DDHH:MM:SS)。有没有简单的方法来使用“GROUPBYactionTime”但只使用“日期时间”的“日期”部分?谢谢 最佳答案 应该可以GROUPBYdate(actionTime)参见this了解更多信息。 关于使用datetime时的MySQLGROUPBY日期,我们在StackOverflow上找到一个类似的问题: https://s

sql - mysql group by 和 count 行数问题

假设mysql是这样的selectx,yfromxxgroupbyy我想知道select会得到多少行,我尝试使用count但它不会返回所有结果,因为我正在使用groupby。该怎么做?谢谢 最佳答案 您可以像这样包装您的查询:SELECTCOUNT(*)FROM(selectx,yfromxxgroupbyy)sub; 关于sql-mysqlgroupby和count行数问题,我们在StackOverflow上找到一个类似的问题: https://stacko

php - Doctrine 2 : Count Items by Type in Select

有谁知道如何根据Doctrine2QueryBuilderselect()语句中的条件检索计数?这是我到目前为止尝试过的...我的第一次尝试是用eq()尝试count()。我收到的错误是“应为右括号,结果等于。”$qb->select($qb->expr()->count($qb->expr()->eq('t.id','1')))接下来我尝试了count()和having()。我收到的错误是“已达到最大函数嵌套级别。”$qb->select($qb->expr()->count($qb->having('t.id','1')))然后我用where()和eq()尝试了count()。我再

MySQL Order By a number,最后一个空字符串(0's)

刚刚问了一个与这个非常相似的问题......目前我正在我的声明中做一个非常基本的OrderBy。SELECT*FROMtablenameWHEREvisible=1ORDERBYpositionASC,idDESC问题是“position”的空字符串条目被视为0。因此,所有position为空字符串的条目都出现在1、2、3、4的条目之前。例如:'','','',1,2,3,4或:0,0,0,1,2,3,4有没有办法实现如下排序:1,2,3,4,'','',''.或:1,2,3,4,0,0,0.我认为该解决方案可能具有某种替换功能,但我无法找到可以满足我要求的功能。