小编Tho*_*ner的帖子

MYSQL GROUP_CONCAT 与 ORDER BY 奇怪的排序结果

这是我的工作查询,没有错误,但按某些列排序很奇怪。

$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)

这给了我以下结果,这些结果是正确的数据,但顺序错误:

参考 | 服务 | 时间 | 帕克斯 | 酒店 | 发件人 | 姓名 | 票 …

mysql sql

1
推荐指数
1
解决办法
2165
查看次数

SQL服务器,检查varchar是否包含全零

我需要编写一个函数来检查varchar变量值是否全为零.

由于变量是varchar而不是int,我有点迷失.你会怎么做?

非常感谢

sql sql-server varchar

1
推荐指数
1
解决办法
2025
查看次数

SQL与Excel中的整数到日期转换问题

我有一个整数的日期值为43251,而在MS Excel中转​​换显示31-05-2018.使用下面的sql进行转换时

select convert(datetime,convert(int, 43251))
Run Code Online (Sandbox Code Playgroud)

它显示02-06-2018.为什么微软转换的这种差异?

sql-server excel

1
推荐指数
1
解决办法
175
查看次数

我可以在SQL表的字段中存储超过8000个字符吗?

面对存储超过8000个字符的挑战,但不想使用nvarChar(max),因为它会影响性能.

有没有办法在不使用nvarChar(max)的情况下在字段中存储15000个字符?是否有可能根据数据大小动态增加字段大小而不使用nvarChar?

sql sql-server sql-server-2008

1
推荐指数
1
解决办法
340
查看次数

计算sql/oracle中的通过和失败计数

我在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

有人可以帮忙吗?

sql oracle

1
推荐指数
1
解决办法
1347
查看次数

案例 when 语句在 oracle 中的跨表

嗨,为格式化道歉,但我很难过和沮丧,我只是需要一些帮助。

我有两张桌子。我已经真诚地尝试遵循社区标准,但以防万一它不起作用,表 A 有 3 列“ID”,用于识别销售代表,“开始”表示他们开始的公司术语,以及“销售”以表明他们在第一个任期内的销售额。表 B 只是表 A 的扩展,其中列出了销售人员所在的所有条款(我将其标记为季度)及其销售额。

表A

+----+----------+-------+
| 身份证 | 季度| 销售 |
+----+----------+-------+
| 1 | 141 | 30 |
| 2 | 151 | 50 |
| 3 | 151 | 80 |
+----+----------+-------+

表B

+----+----------+-------+
| 身份证 | 季度| 销售 |
+----+----------+-------+
| 1 | 141 | 30 |
| 1 | 142 | 25 |
| 1 | 143 | 45 |
| 2 | 151 | 50 |
| 2 …

sql oracle

1
推荐指数
1
解决办法
101
查看次数

由 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 语句或任何其他解决方案来让我达到这种效果?

mysql unique-constraint

1
推荐指数
1
解决办法
1098
查看次数

SQL SELECT 3 个具有相同值的连续记录

我想从“参与”表(名称,年份)中选择具有相同值的 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)

mysql sql window-functions

1
推荐指数
1
解决办法
1万
查看次数

我该怎么办我不断收到 ORA-01861: 文字与格式字符串不匹配 ORA-06512: 在“SYS.DBMS_SQL”,第 1721 行

我不断收到 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)

sql oracle

1
推荐指数
1
解决办法
1万
查看次数

如何计算不同的字段并在where语句中调用它?

我试图计算表格上出现的重复数量,例如:

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 | …

sql oracle select count

0
推荐指数
1
解决办法
38
查看次数