草庐IT

sql - 显示 GROUP BY 中的所有值

如何通过语句获取组中的所有值?mysql>select*frommytable;+------+--------+--------+|name|amount|status|+------+--------+--------+|abc|12|A||abc|55|A||xyz|12|B||xyz|12|C|+------+--------+--------+4rowsinset(0.00sec)mysql>selectname,count(*)frommytablewherestatus='A'groupbyname;+------+----------+|name|count(*)|+-

MySQL : how can I implement a sort of "read/not read yet" topics?

我即将在我的论坛中实现一个主题/论点列表,我想为每条消息插入一种标记,如“已读/未读”,尊重我网站上的每个用户。我认为是这样的:一个表watched_topics,带有id(INT)、user(VARCHAR)和topic_id(INT)。当用户观看页面时,我将插入(如果数据不存在)这些信息。当另一个用户将在主题中插入一条新消息时,我将从表watched_topics中删除所有包含该topic_id的行。这可能会带来麻烦:考虑到9000个主题和观看了所有主题的9000个用户:表格会很大(9000x9000=81000000).所以,我认为这不是实现这类东西的最佳策略!任何建议将不胜感激

mysql - 如何使用 group by 返回最近的值

我有这个问题:SELECThistory.trackid,tracklist.artist,tracklist.event,tracklist.data,history.dateFROMhistoryJOINtracklistONhistory.trackid=tracklist.trackidGROUPBYtrackidORDERBYhistory.dateDESC但是当我按历史分组时,我想返回最近的trackid(到date)。尝试使用GROUPBY和ORDERBYDESC,但不是最新的。我哪里错了? 最佳答案 之所以没有按最近

计算值上的 MySQL GROUP BY 给出错误 - 使用其他值会产生意外结果

此查询返回所有23个music.id:39,64,1327,1608,1644,1657,1666,1676,1681,1686,1691,1711,1726,1730,1811,1851,2346,2440,2967,2968,2996,2998,3110但是...我想根据计算值进行分组,然后按类别分组(因为“名称”对于每条记录都是唯一的,而类别不是)SELECTmusic.id,music.nameASname,music.filename,music.url_name,music.file_path_high,music.filesize,music.categoriesASca

mysql - ORDER BY FIELD 带通配符?

基本上我有一个可以包含一些前缀字符串的字段:word1bla2ttt3word4[...]我需要先使用例如ttt3命令SQL,然后是所有其他字符串。我试过了,但没有成功ORDERBYFIELD(myField,'ttt3',*)有什么建议吗? 最佳答案 使用ORDERBYCASE结构。它强制为您要提取的值设置0,为其他所有值设置1,因此0排在第一位。它就像任何列一样适合ORDERBY列表,以逗号分隔,因此您可以在之后添加其他排序列。ORDERBYCASEWHENmyField='ttt3'THEN0ELSE1END,myField,

php - 将 ORDER BY RAND() 与多个 WHERE 子句一起使用 mysql

我知道orderbyrand()不是从数据库中提取随机值的最快方法,但我的数据库很小,而且在这一点上;我只是想让它工作!哈哈。这是我的代码:include('includes/dbc.php');$top_query="SELECT*FROMtopWHERE'occasion_id=".$occasion."'AND'temperature_id=".$temperature."'AND'user_id=".$user_id."'ORDERBYRAND()LIMIT1";$top_result=mysqli_query($dbc,$top_query)ordie('ThetopSELE

MySQL COUNT(*) GROUP BY HAVING COUNT=?

这是我的查询SELECTCOUNT(*)astotal,toys,dateFROMT1WHERE(date>='2012-06-26'ANDdate'0')UNIONSELECTCOUNT(*)astotal,toys,dateFROMT2WHERE(date>='2012-06-26'ANDdate'0')UNIONSELECTCOUNT(*)astotal,toys,dateFROMT3WHERE(date>='2012-06-26'ANDdate'0')GROUPBYRoomTypeHAVINGCOUNT(total)=4输出结果countToysdate3Bibi2012-06

mysql - Rails & MySQL - 如何在 rails 中的 find_by_sql 中使用 LIKE 运算符和 %?

如何删除变量周围的引号,以便我可以在rails中的find_by_sql中使用LIKE运算符?@entries1=Entry.find_by_sql(["SELECT`entries`.nameasnameFROM`entries`where`entries`.namelike'%?%'",@something])会产生SELECT`entries`.nameasnameFROM`entries`where`entries`.namelike'%'hello'%'当@something='hello' 最佳答案 不要将百分号放在SQ

php - MYSQL GROUP BY 查询结果好像限制在31

我有一个RaspberryPi温度监控系统设置,一切运行良好,除了我现在注意到我的每日最小值、最大值和平均查询显示的结果不超过31个。问题似乎出在GROUPBY语句上,当我将天数限制为小于31天时,我会获得所有最新数据,但如果超过31天,它只会显示最早的31天数据。我有一张图表,应该显示每天的MIN、MAX和AVG温度。如果有人可以帮助我,请帮助我。有了这个,它只会显示从26/05/2014(我记录的第一天)到27/06/2014的数据,然后停在那里:SELECTDATE_FORMAT(date,'%d')ASdate2,MAX(temperature),MAX(temp2),MIN(

MYSQL LEFT JOIN 和 COUNT 和 GROUP BY

我发现了几个与该任务相关的线程,但都没有真正帮助我,或者我没有足够的经验来理解它。我正在使用mysql并有两个表user和user_rh。我想要一个用户名列表(按名称排序),其中包含user_rh中相应的条目数。`user``user_rh`------------------------------------|`uid`|`name`||`uid`|`zaid`|------------------------------------|1|Bob||2|4||2|John||2|7||3|Fred||3|2||4|Peter|----------------------------