我有一个计算总权重的SQL查询:
select c.componentid, nvl(cs.weightkg, 0) as componentkg,
(case
when exists (select 1 from component where fkcomponentid = c.componentid) then
(select sum(nvl(cs.weightkg, 0)) as kg FROM component a, componentstats cs where a.fkcomponentid is not null and cs.components
在不存在匹配行的情况下对下表运行查询时,使用PHP mysql_num_rows()将返回"1“。
经过测试,我发现这个问题是在查询中使用SUM()函数时出现的。如果我从查询中取出SUM(),mysql_num_rows()会像它应该返回的那样返回"0“。
有没有其他东西我应该用来代替mysql_num_rows()来查询表中是否有匹配的行?
表:
name | students_money | grade
George | 5 | A
Bill | 10 | A
Dan | 7 | A
代码:
$sql = "SELECT SUM(students_money) AS
我有一个与下面的例子类似的表格。
Field1 Field2
Chris 100
Chris 200
John 50
Maria 250
John 80
我希望取得以下结果。
Chris 300
John 130
Maria 250
我已经通过使用两个单独的sql语句实现了这一点。我想知道是否可以在一个SQL语句中实现它,以加快查询速度。非常感谢。
我对相当陌生,这是我第一次尝试查询DB,并对返回的数据进行实际操作。
我正在使用Node.js查询数据库
我有以下app.js文件:
var querySomeDatabase = function (someSqlQuery)
{
var mysql = require('mysql');
var connection = mysql.createConnection(
{
host : 'xxxxxxx.com',
user : 'readonly',
password :
我在MySQL中使用了Django。我有一个类似于下面的模型:
class MM(models.Model):
a = models.IntegerField()
b = models.IntegerField()
c = models.DateTimeField(auto_now_add=True)
我有多个a等于b的行,我想执行以下SQL查询:
SELECT a, b, MAX(c) AS max FROM MM GROUP BY b, a;
如何使用Django ORM做到这一点?我已经尝试了使用注释的不同方法,但到目前为止还算幸运。
非常感谢!
我想要一个查询,从我的表中选择总卡路里和会员ID,并按总卡路里降序排序。我要求打印出前8个值作为排名列表,但是我设计我的程序的方式是,每次添加新记录时,它调用最高的总卡路里值,然后添加新的计算值,并将其存储为新的总卡路里值。
但是,当我使用以下查询时,此系统会产生问题:
SELECT TotalCalories, MemberID
FROM TrainingInfo
ORDER by TotalCalories desc
LIMIT 0,7
在成员可能有两个记录都在我不想要的排名列表上的情况下,它不会获取正确数量的值,因为我正在使用python中的SQL进行课程作业,我可以消除重复的值,但它不
SELECT t.tag_name
FROM tags t
JOIN resource_tags rt ON rt.tag_id = t.tag_id
JOIN resource r ON r.resource_id = rt.resource_id
JOIN visitor_resource vr ON vr.resource_id = rt.resource_id
JOIN visitor v ON v.visitor_id = vr.visitor_id
WHERE v.visitor_id = '1'
GROUP BY t.tag_name
正如您可能看到的,“
我有一个对象模型,我希望用linq查询来填充它。
MyModel{
DateTime AppointDate {get; set;}
int TotalAppoints {get; set;}
int AppointDuration {get; set;}
}
我正在编写的查询返回特定日期的约会计数,该查询位于一个函数中,该函数接收UserID和日期作为参数。MyDC是数据上下文。
到目前为止,我得到的是:
var Output = from a in MyDC.AppointTable
where a.UserID == TheUserID
我有一个mysql表private_messages (pm),如下所示:
用户标识--发件人--文本
虽然Userid和发件人都是表user的ID。现在,我想做一个查询,在这个查询中,一个用户获取他发送给另一个用户的pms数量与这个按Userid分组的接收到的pms之间的差异,所以我想将这两个查询放在一起,并从中找出不同的内容:
SELECT count(*) AS s_count, sender FROM pm WHERE userid=".$userid" GROUP BY sender
SELECT count(*) AS u_count, userid FROM pm
我有一个MS Access报告,其中包含以下列:
CodeAmountLocation 库存
以下是查询:
SELECT TOP 13 i.Code, i.Weight * i.Average_CWT / 100 as Amount, il.Location
FROM Inventory as i
LEFT JOIN Item_Location il ON i.Code = il.Item_Code
ORDER BY i.Code
报告是按“库存代码”分组的,因为有1到多个连接来获取位置(1项可以有多个位置),所以我只想显示库存项、数量,然后在该组下显示所有的位置,这里有:
这个分组
我在SQL Server表中有一列,值如下: ID Value Item#
-------------------
101 10 Apples
102 20 Apples
102-01 22 Apples
102-02 23 Apples
102-03 21 Apples
103 20 Apples
103-01 15 Apples 如何编写一个查询来获得正确的合计值? 对于给定的示例,应该只接受以下值:101、102-03、103-01。 正确的总和应该是46。 我尝试在where子句中使
我正在尝试创建一个查询,它返回在2个嵌套对象上过滤的数据。我在代码中添加了(1)和(2),以表明我想要来自两个不同嵌套对象的结果(我知道这不是一个有效的查询)。我一直在寻找记录,但我不能理解它。
SELECT externalIds.value(1) AS appName, externalIds.value(2) AS driverRef, SUM(quantity)/ 60 FROM [billing.tempBilling]
WHERE callTo = 'example' AND externalIds.type(1) = 'driverRef' AND
我创建了sum来计算数据表列的正和负。我现在正试图对这个查询设置一个限制,但我似乎无法让它正常工作。下面是我想要限制的查询。
SELECT SUM(CASE WHEN label > 0 THEN label ELSE 0 END) POSITIVE_BALANCE,
SUM(CASE WHEN label < 0 THEN label ELSE 0 END) NEGATIVE_BALANCE
FROM units