【MySQL双ORDER BY】教程文章相关的互联网学习教程文章

mysql – 在连接中使用Where子句,使用Group by和Order By【代码】

我正在使用MySQL classicmodels数据库.以下查询工作正常(请注意where子句)select customers.customerNumber as 'Customer ID',customers.customerName as 'Customer Name',count(orders.orderNumber) as 'Total Orders Placed' from customers left join orders on customers.customerNumber = orders.customerNumber where customers.customerNumber > 200 group bycustomers.customerNumber order by 3 asc但以下结果会导致错误....

mysql – 关于我的sql中的状态的order by子句【代码】

我正在对表进行排序,以显示状态为3然后状态为4然后为1的记录. 在当前表中,这是输出id status1 32 43 44 35 1现在,当我应用查询select * from table order by model.status desc 输出是:id status2 43 41 34 35 1我想要的实际是下面的输出.首先是状态3,然后是状态4,然后是状态1.如何实现以下输出id status1 34 32 43 45 1解决方法:而不是一个神奇的9999999号...

MySQL中的UNION和ORDER BY问题【代码】

你应该看看我在这里想做什么,但它没有用$getquery = "SELECT * FROM highscore WHERE score >= '$score' ORDER BY score ASC LIMIT 6UNIONSELECT * FROM highscore WHERE score < '$score' ORDER BY score DESC LIMIT 5";mysql_error()返回:“ORDER BY和UNION的使用不当”.解决方法:尝试:$getquery = "(SELECT * FROM highscore WHERE score >= '$score' ORDER BY score ASC LIMIT 6)UNION ALL -- guaranteed to be benefi...

MySQL中“ORDER BY order DESC”附近的语法错误?【代码】

为什么我尝试按查询执行订单,我总是收到错误,告诉我通过ORDER BY’order’DESC检查语法….这是我的查询:SELECT * FROM posts ORDER BY order DESC;我究竟做错了什么??解决方法:order是SQL中的保留字;情况无关紧要.当用作identifier时必须引用它.从MySQL Reserved Words文档:Certain words such as SELECT, DELETE, or BIGINT [or ORDER] are reserved and require special treatment for use as identifiers such as table and...

mysql – 查询坚持’Order By’子句中的列匹配’Group by’子句中的列【代码】

这个有点奇怪.我试图运行以下查询加入3个表.Select t3.id, t3.name, t3.phone_no, t1.reg_dtm, count(t1.reg_dtm) from tableA t1, tableB t2, tableC t3 Where t1.id = t2.id And t2.id = t3.id Group by t3.id, t3.name, t3.phone_no, t1.reg_dtm Order by t2.id, t1.reg_dtm以上查询返回以下错误ORA-00979: not a GROUP BY expression但是如果我改变它以使group by子句中的所有内容都在order by子句中,那么它就可以工作了.Selec...

php – MySQL在order by子句之前删除空格【代码】

我有一个满是“标题”的表,我想通过标题订购.问题是他们中很多人在标题前都有空格.我正在考虑编写一个PHP脚本来解决所有问题(超级简单)但我很好奇我该怎么做:SELECT * FROM products ORDER BY title但同时修剪标题所以它没有在空的空间订购.全部在同一查询中而不更改数据.上帝,我希望我有道理. 所以我真的在寻找一个mysql解决方案.为了它的价值我使用Zend_Db所以使用它的解决方案会更好,但我可以直接管理MySQL.解决方法:您可以使用...

mysql – ORDER BY … ASC很慢并且“使用索引条件”【代码】

我有2个表:用户和帖子. 使用show create table语句:CREATE TABLE `user` (`user_id` bigint(20) NOT NULL AUTO_INCREMENT,`user_name` varchar(20) CHARACTER SET latin1 NOT NULL,`create_date` datetime DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8;CREATE TABLE `post` (`post_id` int(10) unsigned NOT NULL AUTO_INCREMENT,`owner_id` bigint(20) NOT NULL...

MySQL ORDER问题【代码】

我有一个非常简单的SQL查询,但缺少一些东西,我还没有找到这个问题的答案.问题是我选择了一些带有几个ID的字段,我希望按照这个特定的顺序排序结果. 查询如下SELECT `content`.* FROM `content` WHERE (user_id = "1" AND ( id = "4" OR id = "7" OR id = "5" OR id = "8" )) 默认顺序是“id ASC”(id是我的主键),但我希望在这种特殊情况下订单为4,7,5,8. 有任何想法吗?解决方法:这将做你想要的:select * from myTable order...

MySQL:ORDER BY子句减慢MATCH AGAINST搜索速度【代码】

我有以下MySQL查询:$sql = "SELECT (SELECT COUNT(share_id) FROM pd_shares WHERE section = 'news' AND item_id = news.article_id) AS count_shares, article_id, link, title, publish_date, description, source FROM pd_news AS news WHERE (MATCH (title_ascii, description_ascii) AGAINST ('".match_against($_GET["sn"])."' IN BOOLEAN MODE)) AND article_id > " . $last_index . " ORDER BY article_id ASC LIMIT 0,$...

mysql – 在连接表列上优化ORDER BY COALESCE【代码】

已编辑:按要求添加完整查询. 从本质上讲,我有一个帖子表,一对一链接到一个转贴表,类似于Twitter.我想加载在重新发布时(如果存在)或原始帖子的时间排序的帖子.但是,使用单个查询的排序过程非常慢(可能是因为COALESCE(x,y)没有充分利用MySQL索引).两个相关表上的时间列都已编制索引. 我的查询看起来像这样.SELECT * FROM Post p LEFT JOIN p.reposts ON ... WHERE ... ORDER BY COALESCE(r.time, p.time) LIMIT 0, 10更准确地说(伪...

mysql – 连接表性能的ORDER BY列【代码】

我有1个1:1关系的表(但它可能在将来可能成为1:N关系),如下所示:CREATE TABLE article (article_id INT,inserted DATETIME ) ENGINE InnoDB;CREATE TABLE article_top (article_top_id INT,article_id INT,until DATETIME ) ENGINE InnoDB;我需要做的是选择首先由article_top.until DESC排序的文章,然后按article.inserted DESC排序(因此“顶部”文章位于顶部,其余文章从最新到最旧排序). 我执行以下查询,这很慢(当我跳过ORDER B...

使用MySQL RAND()来避免ORDER BY RAND()【代码】

我将RAND()值存储在每个插入的表中,然后运行以下查询以从表中获取随机行.select id from test where random_value >= RAND() LIMIT 5;表中总共有456行,但随机值仅占用前20-25条记录.我跑了很多次查询,但从来没有得到过身份证明> 21. 您可以找到查询和结果here.解决方法:每次循环后你的RAND()都会改变.您需要在SELECT之前修复它:SET @r := RAND(); SELECT id, @r FROM test WHERE random_value >= @r LIMIT 5但这不是一个好的解决方...

使用LIMIT添加ORDER BY时,简单的MySQL查询会阻塞【代码】

我有一个表tb_profilecomments: 4,3 GiB – 总计8百万行 – InnoDB 有3个索引:我运行的查询很简单:SELECT * FROM tb_profilecomments WHERE profilecomment_user_id=6430 ORDER BY profilecomment_id DESC在不到1秒(16.000行)中获得结果.当我现在将LIMIT 1,5添加到查询中时,我需要等待超过2分钟才能得到结果. 不知道mysql背景中发生了什么,为什么它会大大减慢查询速度. 当我从查询中删除ORDER BY或LIMIT时,一切都很好. 当使用...

ORDER BY与CASE MySQL【代码】

我有一个“积分榜”查询,它显示了我所在的联赛的统计数据.我试图根据一些条件订购查询. >如果团队在积分中排名1-25,则按胜利,积分排序>如果球队排名在前25名之外(第26位至第42位),请按分数排序. 我能描述它的最好方法是,它应该像两个表一样.排名(1-25)的队伍应该排在一起,排名(26-42)的队伍应该排在一起. 这是我的查询.SELECT m.Team AS team , SUM( r.points ) AS points , SUM(CASEWHEN rank = 1 THEN 1ELSE 0END) AS Wins , SUM...

帮助用ORDER BY和CASE来理解这个mySQL查询【代码】

我试图理解这个mySQL查询.它应该使用搜索关键字’brown fox lazy dog’搜索表’items’,并根据其相关性或记录中出现的次数返回结果.SELECT * FROM `items` WHERE `description` LIKE 'quick' AND (`description` LIKE 'brown'OR `description` LIKE 'fox'OR `description` LIKE 'lazy'OR `description` LIKE 'dog' ) ORDER BY ((CASE WHEN `description` LIKE 'brown'THEN 1ELSE 0END) + (CASE WHEN `description` LIKE 'fox'THEN ...