Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我想在类别内按日期从早到晚排列我的记录_Php_Mysql - Fatal编程技术网

Php 我想在类别内按日期从早到晚排列我的记录

Php 我想在类别内按日期从早到晚排列我的记录,php,mysql,Php,Mysql,我在代码中使用的查询- SET @a:=-1; SET @b:=0; SELECT m.allocationid, mt.catid, mt.catsname, r.officername, r.desgname, r.grade, r.cellno, IF(mt.catsname = 'E', @a := @a + 2, IF(mt.catsname = 'D', 0, @b :

我在代码中使用的查询-

SET @a:=-1;

SET @b:=0;

SELECT m.allocationid,
       mt.catid,
       mt.catsname,
       r.officername,
       r.desgname,
       r.grade,
       r.cellno,
       IF(mt.catsname = 'E', @a := @a + 2,
       IF(mt.catsname = 'D', 0, @b := @b + 2)) AS
       rwid
FROM   msttransaction m,
       msttemp mt,
       regusers r
WHERE  ( m.ispending = 'Y'
         AND m.statusr = 'Approve'
         AND m.iscancelled = 'No'
         AND m.allocationid IN (SELECT mt.allocationid
                                FROM   msttemp
                                WHERE  mt.quarterid = '082505012')
         AND Substring(m.allocationid, 1, 11) = r.pfnpsno )
        OR ( m.ispending = 'N'
             AND m.type = 'Transit'
             AND m.statusr = 'Approve'
             AND m.iscancelled = 'No'
             AND m.allocationid IN (SELECT mt.allocationid
                                    FROM   msttemp
                                    WHERE  mt.quarterid = '082505012')
             AND Substring(m.allocationid, 1, 11) = r.pfnpsno )
ORDER  BY rwid,
          Substring(m.allocationid, 14) 
此查询将输出显示为

SUBSTRING(m.AllocationId,-14) CatID  CatSName OfficerName        rwid
20160812000000                  4     D       TARUN DANDOTIYA     0
20160911114106                  4     D       Rahul N Chauhan     0
20180601000000                  5     E       ARUN  KUMAR         7
20170403000000                  6     F       VEERSINGH MEENA     2
20160503000000                  5     E       HEMANT  JINDAL      1
20170529000000                  6     F       AJAY RAJ            6
20161227000000                  5     E       G M SRINIVASAN      3
20170526000000                  6     F       S M KELKAR          4
20180621000000                  5     E       JANYU  JINESH       9
20170704000000                  6     F       AJAY SINGH          8
20180504000000                  5     E       GANESH  LONARE      5
20170914000000                  6     F       UMANG DUBEY         10
但我希望我的结果是

SUBSTRING(m.AllocationId,-14) CatID  CatSName OfficerName        rwid
20160911114106                  4     D       Rahul N Chauhan     0
20160812000000                  4     D       TARUN DANDOTIYA     0
20160503000000                  5     E       HEMANT  JINDAL      1
20170403000000                  6     F       VEERSINGH MEENA     2
20161227000000                  5     E       G M SRINIVASAN      3
20170526000000                  6     F       S M KELKAR          4
20180504000000                  5     E       GANESH  LONARE      5
20170529000000                  6     F       AJAY RAJ            6
20180601000000                  5     E       ARUN  KUMAR         7
20170704000000                  6     F       AJAY SINGH          8
20180621000000                  5     E       JANYU  JINESH       9
20170914000000                  6     F       UMANG DUBEY         10
注意这里我没有在表输出中显示AllocationId


我想根据日期来安排我的输出,即子字符串(m.AllocationId,-14),在我的情况下,在类别中,这意味着对于D类别,它在类别中首先出现,希望大家理解,提前感谢您,您可以按类别然后按日期订购:

ORDER  BY CatID, Substring(m.allocationid, 14) 

请删除图像,改为包含实际文本,格式为代码,以便其他人可以阅读您的问题。图像是否对您不清晰可见?如果是,则我会将其更改为文本format@VAIBHAVRAWAT图像很难读取,代码也不可复制,其他人需要测试和修复。如果你能准备一个DB Fiddle/SQL Fiddle,那就更好了。图像是完全没有帮助的。发布正确的DDLsI更新了格式并删除了图像,如您所说,请帮助我,提前感谢@草莓,@Tim Biegeleisen,@Madhur BhaiyaIt将更改我的输出,我希望E和F类别在D之后以更高的优先级替换,在D,E,F范围内,它将根据日期缩短