我有一个带有" Transtype“字段的表,该字段要么是" GAME_BET”,要么是" GAME_WIN“,还有一个字段"AmountReal”必须加起来,如果Transtype是GAME_WIN或正(+)是Transtype= GAME_BET,则为负(-)。
我的查询如下:
SELECT SUM(t1.GameBet-t1.GameWin) as result from
(SELECT
if (TranType='GAME_BET',AmountReal,0 ) as GameBet,
if (TranType='GAME_W
我的要求是:我现在有了一个表格,我需要根据其中的一个字段分组,并获得该组的最新记录,然后我在互联网上搜索该方案,
SELECT
* FROM(
SELECT
*
FROM
record r
WHERE
r.id in (xx,xx,xx) HAVING 1
ORDER BY
r.time DESC
) a
GROUP BY
a.id
,结果是正确的,但我不明白where语句后面有1的含义。我希望朋友能给我一个答复。非常感谢。
我正在做这项工作,我需要计算每个学生的CGPA,以及分数*学分/总学分的公式。
select
round(sum((grade.grade*course.credits)/count(course.courseno)),1),
student.studentNo
from
course, grade, student, offering
where
student.studentno = grade.studentno
and course.courseno = offering.courseno
and offering.offerno
让我们有以下数据
IF OBJECT_ID('dbo.LogTable', 'U') IS NOT NULL DROP TABLE dbo.LogTable
SELECT TOP 100000 DATEADD(day, ( ABS(CHECKSUM(NEWID())) % 65530 ), 0) datesent
INTO [LogTable]
FROM sys.sysobjects
CROSS JOIN sys.all_columns
我要计算行数、去年行数和最后十年行数。这可以使用条件聚合查询或使用子查询实现,如下所示
-- condi
我需要实现像这样的东西
(SELECT table1.*, val=2 FROM table1 INNER JOIN table2 ON table1.id = table2.id WHERE some_condition)
UNION
(SELECT table1.*, val=3 FROM table1 INNER JOIN table3 ON table1.id = table3.id WHERE some_condition)
或
(SELECT val1, val2, val3, val=2 FROM table2 WHERE some_condition)
UNION
我有一张学生桌和地址表。我想知道他们中有多少来自伦敦。我有一个查询看起来
SELECT (SELECT COUNT(*) FROM student
INNER JOIN address on student.address_id = address.id
WHERE city = 'Lodon')/ COUNT(*) FROM student
当我运行这个查询时,会得到一个错误。
选择(从第1行的学生错误选择计数(*):ORA-00937:不是单个组函数
为什么会发生这种事,我该怎么解决呢?当我单独运行子查询时,它会返回一个值,但是为什么当我放入子查询时它会返回多个值呢?
我有以下查询要按路线清点销售额
SELECT DISTINCT q.sales_route,
y.yesterday,
t.today
FROM tblquotesnew q
left join (SELECT tblquotesnew.sales_route,
Count(tblquotesnew.sales_route) AS Yesterday
FROM tblquotesnew
SELECT SUM(OrderQty)AS 'Total Sell Quantity',
CAST (ModifiedDate AS DATE) AS 'date'
FROM Sales.SalesOrderDetail
HAVING SUM(OrderQty)>0 AND (SELECT Name
FROM Production.Product
WHERE Name NOT LIKE '%red%'