我有一个用于报告的MySQL表,引擎是innoDB,并且有一些分区:/*!50100 PARTITION BY HASH(年(日期)*12 +月(日期))PARTITIONS 48*/
该表有一个日期字段,一个dealId字段,一个placementId字段(以及一些指标列).
我有一个dealId,它出现在2017-09-10:
select count(*) from report_deal_plac where date = "2017-09-10" and dealId = 11983;
+----------+
| count(*) |
+----------+
| 96 |
+----------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
但是当我试图获得这个日期的所有dealId时,我找不到这个dealId:
SELECT DISTINCT(dealId) FROM report_deal_plac WHERE date = "2017-09-10";
+--------+
| dealId |
+--------+
| 1938 |
| 3620 |
| 5892 |
| 6360 |
| 6814 |
| 8928 |
| 9010 |
| 9193 |
| 9282 |
| 9583 |
| …Run Code Online (Sandbox Code Playgroud) 我有一个名为test.sh的shell脚本:
#!/bin/bash
echo "start"
ps xc | grep test.sh | grep -v grep | wc -l
vartest=`ps xc | grep test.sh | grep -v grep | wc -l `
echo $vartest
echo "end"
Run Code Online (Sandbox Code Playgroud)
输出结果是:
start
1
2
end
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,为什么有两个test.sh进程在我使用``调用ps时运行(与$()相同)而不是直接调用ps时?我怎样才能得到理想的结果(1)?