我正在尝试从两个不同的表中检索两个计数到一个SQL查询中,以便与PHP一起使用。这是当前的SQl查询:
SELECT COUNT(entryid) AS total FROM rh_entries UNION SELECT COUNT(pentryid) AS attended FROM rh_playerentries WHERE playerid=79
这是我用来利用数据的PHP:$result = mysql_query($query);
$attendance = mysql_fetch_assoc($result);
echo "Total: " . $attenda
有没有一种方法可以从表中删除旧记录,并使用mysql在一个查询中插入新记录?
例如,将这两个查询合并为一个查询。
DELETE FROM A where customer_id = 5;
INSERT INTO A (product_id, customer_id) VALUES (1, 5);
INSERT INTO A (product_id, customer_id) VALUES (5, 5);
INSERT INTO A (product_id, customer_id) VALUES (12, 5);
INSERT INTO A (product_id, customer_id)
假设我有带有name1和name2列的表name2。这两列都有不同的索引。我运行查询
select * from clients use index (`name1_index`,`name2_index`)
where
name1='John'
or
name2='Doe'
在大表中,最好分别执行2个查询并组合结果。但是当我explain时,这个mysql8 (来自甲骨文的那个)告诉我它在使用where (比两个单独的查询花费更多的时间)
我可以想象用'union‘重写它是可能的,它可能会像预期的那样工作,但是真正的实时查
我们的500 K行视图变得很糟糕,因为它们不能使用底层表的索引。View上的where子句对视图创建没有影响。这个视图是在Mysql子句应用之前创建的吗,就像在Sql server中一样?我们有办法用Where子句和Joins来加速视图查询吗?
,MySQL视图的一个问题是,MySQL不会将谓词从外部查询“推”到视图查询中。
select * from reportview_23 where id = 100;
我有一个CMS,它需要一个SQL查询来返回下拉列表的选项/值...通常,它在SQL查询中返回表中的行,并填充下拉选项。有时我只想在下拉列表中有两个静态选项,而不想创建一个完整的表来管理这两个不变的项。
我的问题是:是否有一个MySQL查询不会查询表,而只是返回一些静态结果,就像它在查询表一样?
理想情况下,我希望类似这样的东西(但是静态的):
SELECT value FROM `fake_table`
并返回以下内容:
value
//////////////
Option One
Option Two
Option Three
Etc...
提前感谢您的帮助!
我试图查询一个数据库,以查找不同表中两列之间的相关结果,为此,我使用以下代码:
$query = "SELECT * FROM $table WHERE MATCH (TITLE) AGAINST ($description) AND ARTIST=$band ORDER BY relevance DESC";
$result = mysql_query($query);
if (!$result) {
die("Result False on line 47: $result <br>
Query:
我有两个表(页面和注释),大约每个13万行.
我想列出没有任何注释的页面(外键是comments.page_id)
如果我执行正常的左侧外部联接,那么运行需要超过750秒的。(130 k^2= 17B)然而,如果我执行相同的联接,但使用表的子查询,则只需1秒即可。
服务器版本:5.6.44-日志- MySQL社区服务器(GPL):
查询1.正常连接,750+秒
SELECT p.id
FROM `pages` AS p
LEFT JOIN `comments` AS c
ON p.id = c.page_id
WHERE c.page_id IS NULL
GROUP BY 1
查询
我知道您可以在MySQL表中创建一个惟一的列,但实际上我希望比较两个列。
所以如果我有这样的记录:
Time User Table
10:00pm Fred 29
11:00am Bob 33
我可以使用time 10:00pm和table 33插入新记录,但不能插入10:00pm table 29。
我知道我可以运行一个查询,然后根据比较这两个字段得到查询的结果,取消插入新记录的能力,但是我想知道是否有更好的解决方案,可以在插入时从MySQL获得重复的输入错误,并节省几行代码。
使用mysql条件查询两个表
如果我将使用一些查询条件,例如我有表,我如何获得具体的查询:
TableA:
column1
row1111
row2222
row3333
row4444
TableB:
column1
rowAAAA
rowBBBB
rowCCCC
rowDDDD
如果我想给出一个条件来检查选中的列,是否有可能是null或空。下面是我的伪代码:
if any column in Table A query is null, I will use query to TableB
else query to TableA
任何建议或意见都是一个很
我有一个MySQL查询,需要两次left join。有四个表A、B、C、D和两种可能性,如果A.label为null,
select ... from A
left join B on B.name=A.name
left join D on B.bid=D.id;
否则,如果A.label不为null,则
select ... from A
left join C on C.name=A.name
left join D on C.cid=D.id;
如果我想通过CASE条件将这两个查询合并为一个查询,我应该怎么做?
我想用(几乎)相同的行同时查询两个表。因此,我希望得到5个最近的条目(按日期排序,总计),不管它们来自哪个表
到目前为止,我试过这个:
SELECT date, name, text FROM `table_A`
UNION
SELECT date, name, text FROM `table_B` ORDER BY date desc LIMIT 5
不幸的是,这个查询大约需要20秒(两个表都有~300.000行)。
当我这么做的时候
SELECT date, name, text FROM `table_A` ORDER BY date desc LIMIT 5
或
SELECT d
我正在创建一个控制板,以便随时更新呼叫座席status.an座席日志中的多条记录。我需要从座席日志中提取最新状态。我发现的唯一方法是查询代理表以拉取今天状态更改的代理,然后查询代理日志表以拉取最新状态。
有没有一种方法可以组合这两个查询?以下是我的问题
$sql_get_agents = "SELECT id FROM agent WHERE lastchange LIKE '{$today}%'";
if($dta = mysql_query($sql_get_agents)){
while($agen
我有下面的查询,我试图优化,因为有数百万的数据在表中。我尝试了MySql Explain,但没有得到执行查询的优化方法:
SELECT * FROM tbl
WHERE (SEND ='abc' AND TYPE IN ('A', 'D') and FLAG !='Y')
OR (REC ='abc' AND TYPE = 'I' and FLAG !='Y')
这个查询使用了index_merge和sort_union(),因为我有以下两个索引:
On SEND
我需要对MYSQL数据库中的一个表进行查询。在这个查询中,我需要使用不同的where进行多个选择。
我当前的查询是:
$result = mysql_query("
SELECT
last_name, first_name, user_name,
SUM(rthours) as rthours, SUM(othours) as others,
SUM(trthours) as trthours, SUM(tothours) as tot hours
FROM data
WHERE labor_date BETWEE