我尝试根据第一个查询中返回的行数组合两个MySQL查询,如下所示:
mysql_query("SELECT * FROM `new_userprofile_combined`
WHERE `upg_featured` >= NOW() LIMIT 20
IF mysql_num_rows(1st query) < 20
(SELECT * FROM `new_userprofile_combined`
WHERE `upg_featured` < NOW() ORDER BY rand()
LIMIT (20-mysql_num_rows(1st query))) &
我有两个MySQL查询,我正试图使用这些查询来平衡数据库和查找问题。
查询1的预支总计为286940.99,查询2的总计为288645.3,这是1 704.31不同(未分配的预付款也是错误的)。
我遇到的问题是,它们都是同一列的求和,唯一的不同是查询2有一个左联接来加入另一个表。左联接根本不应影响主表。
这是我的疑问
查询1
SELECT sum(advance) as advance, sum(advance_unallocated) as advance_unallocated FROM `deals`
查询2
SELECT
pb.id as pbid,
d.id as
SELECT user_id FROM post WHERE user_id=:user_id && post_id=:post_id
if ($row==1){
DELETE FROM post WHERE user_id=:user_id && post_id=:post_id LIMIT 1
}
我有一个mysql删除问题。
我是否需要查询来确定行是否退出,然后运行DELETE查询,或者我可以直接运行DELETE查询?
假设我有一个很长、开销很大的查询,其中充满了条件,正在搜索大量的行。我还有一个特殊的条件,比如公司id,它将大大限制需要搜索的行数,将搜索行数从数十万缩小到几十。
我是否这样做对MySQL性能有影响:
SELECT * FROM clients WHERE
(firstname LIKE :foo OR lastname LIKE :foo OR phone LIKE :foo) AND
(firstname LIKE :bar OR lastname LIKE :bar OR phone LIKE :bar) AND
company = :u
我刚开始学习SQL,并且有一个包含三列的数据库:
id (文本),
source(文本),
lastTime (带时间戳的时区)
我想创建一个按源和每个源的总行数分组的表,这些源的lastTime小于5小时。
我现在的查询是:
SELECT
source,
EXTRACT(epoch FROM (CURRENT_TIMESTAMP - lasttime) / 3600)
FROM mytable
GROUP BY source, lasttime
这显然为我提供了一个表,其中有多个行对应于同一个源,并且不处理<5小时位。如何更改我的查询以处理这些更改?
我正在python中运行一个SQL查询,并将表的结果存储在Pandas DataFrame中。我想运行这个查询,直到找到一个条件为止。下面是一些需要处理的示例数据:
sql table1
name val
post 10
sutter 15
oak 20
import pandas as pd
# mysql connection
import pymysql
from sqlalchemy import create_engine
user = 'user1'
pwd = 'pwd'
host =
我有带员工出席的MySQL桌。雇员一天中的第一行作为时间对待,而雇员一天中的最后一行作为结束时间处理。我试图从考勤表中选择第一次和最后一次(最小时间和最大时间)。它应该给我两排。但是我的查询没有给我预期的结果。
表(出席情况)
我的疑问
select *, min(attdate) as intime, max(attdate) as outtime from attendance where empid=1
但是上面的查询没有给我预期的结果。我的输出应该在下面的图像中。请建议我的查询或给我提示,以实现给定的输出。
我有个疑问
Select * from tbl1
WHERE
( price > 10
AND qty > 200
AND condition=1
AND name like '%abc%')
我的问题是MySQL将如何处理这个问题?我担心的是,我希望以这种方式运行查询,以便根据条件减少结果。
例如
( price > 10 AND qty > 200 AND condition=1 And name like '%abc%')
首先,MySQL应该过滤具有price > 10的记录,并在生成的数据集上应用下一个
我开始用
BEGIN;
<SQL CODE HERE>;
ROLLBACK;
在执行结果之前对查询进行测试。即使是在本地数据库和测试数据库中,避免将数据搞砸也是非常有用的。
然而,我不喜欢的一件事是,我所得到的返回的只有像这样受影响的行数:
BEGIN;# MySQL returned an empty result set (i.e. zero rows).
UPDATE agenda SET is_ars = 0, question_bank_id = null WHERE session_name LIKE '%closing%';# 1 row affe
如果我想在php中查询一个查询结果,我应该怎么做?假设我有这个..
$result = mysql_query("SELECT * FROM tbl_x WHERE tbl_x.attribute = y");
现在我需要查询这个$result,以过滤我从它的查询中得到的结果。请注意,我不想这样做...
$result2 = mysql_query("SELECT * FROM ( SELECT * FROM tbl_x WHERE tbl_x.attribute = y ) AS tbl_x1 WHERE tbl_x1... etc");
我想要避免这种情况的
我有两个表,A和B,B包含指向A的外键。这两个表都有一个flag列。我正在尝试计算A中受条件约束的行数,即:
有标志集
在B中有一个设置了标志的行
或以上两种情况
我试过用
SELECT
COUNT(*)
FROM
tableB
INNER JOIN tableA ON tableA.id=tableB.A_id
WHERE
(tableA.flag OR tableB.flag) AND
[condition]
其中[condition]是一个不相关的条件。然而,这似乎返回了不正确的计数。我做错了什么?
表A列:id (主键),flag
表B列:id
因此,假设我需要将名为"active“的MySQL字段从0更改为1或任何其他类型,但我需要对数百行甚至数千行这样做。我有一个带有行ID的PHP数组。
做这件事最好的方法是什么?“最佳”被定义为执行它所需的时间和CPU使用情况的最优。
我想到了两种方法。
使用UPDATE table SET active = 1 WHERE id = ?对该UPDATE table SET active = 1 WHERE id = ?数组执行一个foreach循环,因此我将执行数千个MySQL查询,或者不管数组中有多少个元素,都有
UPDATE table SET active = 1 WHERE i
我有一些这样的争吵:
school 4
hotel 2
restaurant 6
我想要这样的输出:
school 1
school 2
school 3
school 4
hotel 1
hotel 2
restaurant 1
...
restaurant 6
我是否可以运行一个MySQL查询来像这样输出它(即,输出的行数与第二个字段中的数目相对应)?
阅读MySQL ,我们看到了这个具有多列索引name的示例表。
CREATE TABLE test (
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
INDEX name (last_name,first_name)
);
并举例说明索引将或不使用的情况。例如,它将用于这样的查询:
SELECT * FROM test
WHERE last_name='Widenius' AN
我正在尝试理解如何根据HAVING来计算mysql行。
SELECT COUNT(*),
SUM(CASE WHEN sentby='$user_id' AND hiddenbysentby=0 THEN 1 ELSE 0 END) as sentbyuser,
SUM(CASE WHEN sentto='$user_id' AND hiddenbysentto=0 THEN 1 ELSE 0 END) as senttouser
FROM cb_users.user_pm
WHERE title LIKE '%$search%'
请看一下这个条件mysql查询:
SELECT attr1,attr2,attr3 FROM table
WHERE
( attr1 LIKE '%cond1%' OR attr1 LIKE '%cond2%' )
OR
( attr2 BETWEEN '30' AND '45' )
OR
( attr3 IN ('cond3') AND attr3 = 'cond4' AND attr3 BETWEEN '18' AND '30' )
ORDER BY
我使用mysql_query()函数在php中运行一个查询,但是它返回零行,而当我在phpMyAdmin中运行相同的查询时,我得到了一行。不知道是什么把事情搞错了。我在sqlfiddle上创建了一个与查询相同的表结构。
SELECT * FROM cart_discount WHERE email_counter < 1 AND cart_time BETWEEN '2013-01-31 00:00:00' AND '2013-02-01 23:59:59'
请指导php在哪里制造麻烦。
这就是生成和执行查询的方式。
$date1 = date(
我使用DELETE语句将一个PDO查询传递给mysql。我想知道,查询是否真的删除一行?我尝试使用$stmt->execute()的返回值
function delete(){
$stmt = $this->db->prepare("DELETE FROM users WHERE id= :id");
$stmt->bindValue(':id',$_POST[id]);
var_dump($stmt->execute());
}
但是这总是给出true,甚至没有任何行被删除。这给了真,即使我没有张贴任何值
我对MySQL相当陌生,我试图将几个查询合并到一个查询中遇到了一些问题。基本上我有两张桌子:
我要得到:
所有IDJobs,其中StaffID不属于它的一部分
所有IDJobs,其中StaffID是其中的一部分,其状态为1或6。
。
Jobs
------------------
IDJob - The PKey
JobInfo - Some Data
JobPosition
------------------
PositionID - Each Job can have multiple positions
JobID - Value from Jobs T
让我们有以下数据
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
今天我发现了我正在工作的项目的性能问题。我使用的是Laravel框架,所以大多数查询都不是手动生成的。
问题是:
SELECT count(*) FROM table LEFT JOIN a ON table.a_id= a.id LEFT JOIN b ON table.b_id = b.id LEFT JOIN c ON table.c_id = c.id
在执行0,7s时,table有大约100k条记录
SELECT count(*) FROM table
执行0,01s
因此性能损失是巨大的。问题是-有没有可能在查询中添加任何东西来加快查询的执行速度(告诉MySQL在没有where条件
如何动态搜索MySQL数据?具体来说,我想查询一个表,例如:
mysql> select * from points where LAT != 0.0
之后,我只想查询上一次查询返回的信息:
mysql> select LAT, LON, FILE from points where LAT > 30.457835
如何查询以前的结果而不是每次搜索整个数据库?
我想要达到的是集成一个动态搜索表单在烧瓶中选择的每个字段缩小你在网页上显示的结果。在我看来,这类事情经常发生,比如图书馆数据库,甚至亚马逊。您所添加的每一个新条件是否都会创建一个完整的新搜索字符串来执行数据库,还是可以
我尝试在我的mysql数据库中查找所有表行计数。当我执行下面显示的查询时
SELECT TABLE_NAME, TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'MyDb'
ORDER BY `TABLES`.`TABLE_ROWS` DESC;
我得到了输出表和它的行数。例如content_data : 200150,但当我使用以下命令分别检查每个表时
select count(*) from content_data
我得到了确切的行数,即219366行。在mysql中查找表的所有行数的确切
给出了一个名为“mySQL”的orders_products表,其中包含以下相关字段:
products_id
orders_id
这两个字段都有索引。
我正在运行以下查询:
SELECT products_id, count( products_id ) AS counter
FROM orders_products
WHERE orders_id
IN (
SELECT DISTINCT orders_id
FROM orders_products
WHERE products_id = 85094
)
AND products_id != 85094
GROU
我有一个使用多个MYSQL数据库的应用程序,结果被合并到一个数据库中,但是在使用我的查询限制时存在一个问题。
我有:
MYSQL 1- view_users
MYSQL 2- view_users
MYSQL 3- view_users
有疑问:
SELECT * FROM `view_users`
ORDER BY `date` DESC LIMIT 0, 25
我得到的结果是正确的:
MYSQL 1-返回25行
MYSQL 2-返回25行
MYSQL 3-返回25行
我想实现的结果是只得到25行,而不是75行,因为我的分页中断了。
期望的结果: MYSQL 1,MYSQL 2,MYSQL