草庐IT

group_keys

全部标签

mysql - 将 DESC 和 ASC 与 Group By 一起使用

这是我的sql语句SELECTDISTINCTarticle_categories.category_id,article_id,article_title,article_intro,article_content,category_name_arFROMarticles,article_categoriesWHEREarticles.category_id=article_categories.category_idANDarticle_type='admin'ANDcategory_case='active'GROUPBYarticle_categories.category_i

php - MySQL Left Join、Group By、Order By、Limit = 糟糕的性能

我目前正在开发一个应用程序,允许用户使用各种参数搜索文档数据库并返回一组分页结果。我正在用PHP/MySQL构建它,这不是我常用的开发平台,但到目前为止它已经很棒了。我遇到的问题是,为了返回完整的结果集,我必须在每个表上使用LEFTJOIN,这完全破坏了我的性能。开发数据库的人说我正在使用的查询将返回正确的结果,所以这就是我必须使用的。查询在下面,我绝不是SQL专家,需要一些帮助。我一直在想,将查询拆分成子查询可能会更好?以下是我当前的查询:SELECTd.title,d.deposition_id,d.folio_start,d.folio_end,pl.place_id,p.sur

sql - GROUP BY 和 ORDER BY

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:SQLORDERBYtotalwithinGROUPBYSELECT*FROMusers_pm_inWHEREuID='1'GROUPBYdialog_idORDERBYdateDESC不会正常工作。我想要做的是分组到dialog_id..然后所有带有dialog_id的按日期排序,然后按日期排序所有..所以:id|uID|bID|msg|dialog_id|date--------------------------------------------------1|1|2|Hello|1|12891586

php - 有没有人发现一种(简单的)方法来限制 group_concat 行?

我有一个很大的查询要从每个国家/地区提取有关报告的信息,现在,我可以限制它的唯一方法是在末尾放置Limit10或某个数字,这将限制国家。但是,我想要做的是将group_concat限制为每个国家/地区10个结果,在我的例子中,这将以某种方式将group_concat一词的每个实例限制为10个。我当前的查询是:SELECTcountry,GROUP_CONCAT(docID),GROUP_CONCAT(analyst),GROUP_CONCAT(region),GROUP_CONCAT(report),GROUP_CONCAT(topic),MAX((date))ASdate,MAX((

mysql - 指定的 key 太长;最大 key 长度为 1000 字节

通过mySQL转储导入Joomla1.5数据库但出现错误“1071-指定的key太长;最大key长度为1000字节”罪魁祸首的sql语句是:CREATETABLE`jos_core_acl_aro`(`id`INT(11)NOTNULLAUTO_INCREMENT,`section_value`VARCHAR(240)NOTNULLDEFAULT'0',`value`VARCHAR(240)NOTNULL,`order_value`INT(11)NOTNULLDEFAULT'0',`name`VARCHAR(255)NOTNULL,`hidden`INT(11)NOTNULLDEFAU

MySQL CREATE TABLE & FOREIGN KEY 错误

我不是数据库专家,但我一直在研究这个问题,但似乎无法解决这个问题。我已经阅读了相关的文档页面(http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html),但我看不出我的语法哪里有问题.ERROR1064(42000)atline84:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'FOREIGNKEY(user_id)REFE

MySQL 更新与 Select with Having 和 Group By 相同的表

我有一个Select查询,它向我返回时间少于8天的所有session的sessionID。效果很好!SELECTsessionIDFROMsessionWHEREsessionStatus='open'GROUPBYsessionIDHAVINGMAX(refTime)但是,我正在尝试更新表,以便sessionID少于8天的每条记录的session状态都更改为“已关闭”。从stackoverflow我知道我无法更新我也从中选择的表,并且Having和GroupBy是使这更复杂的agerate函数。我试过了,但是不行!UPDATEsessionSETsessionStatus='clos

mysql - Ruby On Rails - Rake 模式 - 最大 key 长度为 767 字节

我正在尝试rakedb:schema:load但我收到错误Mysql2::Error:Specifiedkeywastoolong;maxkeylengthis767bytes:CREATEUNIQUEINDEX据我了解,InnoDB的索引中最多只允许767字节...如果您使用的是utf-8,则应除以3。但是当我尝试在schema.rb中设置最多100个字符(它甚至不接近767)时,错误仍然发生......schema.rbadd_index"friendly_id_slugs",["slug","sluggable_type"],:name=>"index_friendly_id_s

MySQL反向GROUP BY结果

我不擅长Mysql表达式,所以这里有一个我正在努力解决的快速问题。我想反转GROUPBY表达式的顺序,以便我可以获得用户的最后一个条目。我设法在互联网上找到了很好的例子,但我无法在不收到错误的情况下用我的表达式实现它们。多谢你们!SELECTmessages.conv,messages.from_user,messages.to_user,messages.content,messages.date_posted,messages.note_read,messages.active,users.thumb,users.name,users.idFROM`messages`INNERJO

mysql - SQL:在不覆盖行的情况下加入后的 GROUP BY?

我有一张篮球联赛表、一张球队表和一张球员表,如下所示:LEAGUESID|NAME|------------------1|NBA|2|ABA|TEAMS:ID|NAME|LEAGUE_ID------------------------------20|BULLS|121|KNICKS|2PLAYERS:ID|TEAM_ID|FIRST_NAME|LAST_NAME|---------------------------------------------1|21|John|Starks|2|21|Patrick|Ewing|给定一个联赛ID,我想从该联赛的所有球队中检索所有球员的姓