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范围内,它将根据日期缩短