这是我的工作查询,没有错误,但按某些列排序很奇怪。
$query = mysql_query("SELECT ServiceType, Location, Destination, Name, PAX,
TransferTime, Ticket SUM(PAX) AS TotalPAX,
GROUP_CONCAT( Coupon SEPARATOR '<BR>') AS PasTicket,
GROUP_CONCAT( TransferTime SEPARATOR '<BR>') AS PasTransferTime,
GROUP_CONCAT( Location SEPARATOR '<BR>') AS PasLocation,
GROUP_CONCAT( Destination SEPARATOR '<BR>') AS PasDestination,
GROUP_CONCAT( Name SEPARATOR '<BR>') AS PasName,
GROUP_CONCAT( PAX SEPARATOR '<BR>') AS PasPAX
FROM Reservations WHERE Date = '$DateToday'
GROUP BY Ticket
ORDER BY ServiceType, TransferTime ASC");
Run Code Online (Sandbox Code Playgroud)
这给了我以下结果,这些结果是正确的数据,但顺序错误:
参考 | 服务 | 时间 | 帕克斯 | 酒店 | 发件人 | 姓名 | 票 …
我需要编写一个函数来检查varchar变量值是否全为零.
由于变量是varchar而不是int,我有点迷失.你会怎么做?
非常感谢
我有一个整数的日期值为43251,而在MS Excel中转换显示31-05-2018.使用下面的sql进行转换时
select convert(datetime,convert(int, 43251))
Run Code Online (Sandbox Code Playgroud)
它显示02-06-2018.为什么微软转换的这种差异?
面对存储超过8000个字符的挑战,但不想使用nvarChar(max),因为它会影响性能.
有没有办法在不使用nvarChar(max)的情况下在字段中存储15000个字符?是否有可能根据数据大小动态增加字段大小而不使用nvarChar?
我在oracle中有数据库表,例如,
ID status cycle
T051 Passed s1
T051 Failed s1
T061 Failed s1
T061 Failed s1
T051 Failed s2
Run Code Online (Sandbox Code Playgroud)
我想要这样的输出
ID cycle pass fail
T051 s1 1 0
T061 s1 0 1
T051 s2 0 1
Run Code Online (Sandbox Code Playgroud)
逻辑:-> 如果相应 id&cycle 任何状态通过,则其通过计数为 1;如果相应 id&cycle 所有状态失败,则失败计数 1
有人可以帮忙吗?
嗨,为格式化道歉,但我很难过和沮丧,我只是需要一些帮助。
我有两张桌子。我已经真诚地尝试遵循社区标准,但以防万一它不起作用,表 A 有 3 列“ID”,用于识别销售代表,“开始”表示他们开始的公司术语,以及“销售”以表明他们在第一个任期内的销售额。表 B 只是表 A 的扩展,其中列出了销售人员所在的所有条款(我将其标记为季度)及其销售额。
+----+----------+-------+ | 身份证 | 季度| 销售 | +----+----------+-------+ | 1 | 141 | 30 | | 2 | 151 | 50 | | 3 | 151 | 80 | +----+----------+-------+
+----+----------+-------+ | 身份证 | 季度| 销售 | +----+----------+-------+ | 1 | 141 | 30 | | 1 | 142 | 25 | | 1 | 143 | 45 | | 2 | 151 | 50 | | 2 …
我有一个问题UNIQUE CONSTRAINT
。
我需要添加基于两列的约束,其中一列需要具有特定值。
例如,假设我有一个users
表,它当然包含用户,并且主键只是一个递增的整数。
我有一个configurations
表,除了配置列之外还有两列:(user_id
表的外键users
)并且main
采用 0/1 值。
逻辑如下:一个用户可以有多个配置,一个配置属于一个用户 - 如表所示。但是,我想限制它,以便一个用户只能有一个主要配置(main = 1)并考虑唯一性。
我试过了
ALTER TABLE `configurations` ADD UNIQUE `unique_main_user`(`user_id`, `main`);
Run Code Online (Sandbox Code Playgroud)
但这将限制我只能使用一种主要配置和一种非主要配置,这很混乱。
是否有可能添加 WHERE 语句或任何其他解决方案来让我达到这种效果?
我想从“参与”表(名称,年份)中选择具有相同值的 3 个连续(按年份)记录:
Name Year
-------------
Carol 1999
Carol 2000
Carol 2001
Carol 2002
Faith 1996
John 2001
John 2002
John 2003
John 2009
Lyla 1994
Lyla 1996
Lyla 1997
Run Code Online (Sandbox Code Playgroud)
这是我的初始代码:
SELECT DISTINCT p1.name, p1.year
FROM participatition p1,
participatition p2
WHERE (p1.year = p2.year + 1 OR p1.year = p2.year - 1) AND p1.name = p2.name
ORDER BY p1.name, p1.year
Run Code Online (Sandbox Code Playgroud)
它返回所有连续记录,但我只想要满足 3 个连续条件的记录,即不是 Lyla:
Name Year
-------------
Carol 1999
Carol 2000
Carol 2001
Carol 2002
John 2001
John 2002
John …
Run Code Online (Sandbox Code Playgroud) 我不断收到 ORA-01861: 文字与格式字符串不匹配 ORA-06512: 在“SYS.DBMS_SQL”,第 1721 行
我该怎么办?
create table TASK (
TASK_ID number not null constraint task_pk primary key,
TASK_DESCRIP varchar2(50) not null,
TASK_STARTING_DATE date not null,
TASK_ENDING_DATE date not null,
NUMBER_OF_EMPLOYEE number not null
);
INSERT INTO TASK VALUES(1101,'Initial interview','2018-03-01','2018-03-06','3');
Run Code Online (Sandbox Code Playgroud) 我试图计算表格上出现的重复数量,例如:
First| Last | ADDR1 | City | ST | Zip -----+-------+-----------------+-----------+----+------ John | Smith | 1234 Fake St. | Hollywood | CA | 12345 John | Smith | 1234 Fake St. | Hollywood | CA | 12345 John | Smith | 1234 Fake St. | Hollywood | CA | 12345 John | Smith | 1234 Fake St. | Hollywood | CA | 12345 Jane | Smith | 1111 Junkertown | Phoenix | AR | 22222 Jane | Smith | …