我目前有一个简单的表格,看起来像这样:
+-----------------------+--------------+-------------------+
| "TheTime" | "Course" | "Horse" |
+-----------------------+--------------+-------------------+
| "2019-07-26 16:10:00" | "ASCOT" | "Anythingtoday" |
| "2019-07-26 16:20:00" | "UTTOXETER" | "Blazon" |
| "2019-07-26 16:45:00" | "ASCOT" | "Harry Hurricane" |
| "2019-07-26 18:30:00" | "YORK" | "Qaaraat" |
| "2019-07-26 18:30:00" | "YORK" | "Russian Realm" |
| "2019-07-26 18:35:00" | "DOWN ROYAL" | "Abstraction" |
| "2019-07-26 18:50:00" | "WEXFORD" | "Naughty Molly" |
| "2019-07-26 19:50:00" | "WEXFORD" | "Persian Wind" |
| "2019-07-26 20:20:00" | "WEXFORD" | "Whoyakodding" |
+-----------------------+--------------+-------------------+
我想删除“ TheTime”列不匹配的所有行。
最终结果如下所示
+-----------------------+--------------+-------------------+
| "TheTime" | "Course" | "Horse" |
+-----------------------+--------------+-------------------+
| "2019-07-26 16:10:00" | "ASCOT" | "Anythingtoday" |
| "2019-07-26 16:20:00" | "UTTOXETER" | "Blazon" |
| "2019-07-26 16:45:00" | "ASCOT" | "Harry Hurricane" |
| "2019-07-26 18:35:00" | "DOWN ROYAL" | "Abstraction" |
| "2019-07-26 18:50:00" | "WEXFORD" | "Naughty Molly" |
| "2019-07-26 19:50:00" | "WEXFORD" | "Persian Wind" |
| "2019-07-26 20:20:00" | "WEXFORD" | "Whoyakodding" |
+-----------------------+--------------+-------------------+
这是因为18:30约克有2匹马在奔跑
"2019-07-26 18:30:00" "YORK" "Qaaraat"
"2019-07-26 18:30:00" "YORK" "Russian Realm"
我知道我无法对此类查询使用“分组依据”或“ DISTINCT”,该怎么办?
答案 0 :(得分:1)
您可以使用not exists
:
select t.*
from t
where not exists (select 1
from t t2
where t2.thetime = t.thetime and
t2.course = t.course and
t2.horse <> t.horse
);
或者,您可以使用聚合:
select thetime, course, max(horse)
from t
group by thetime, course
having count(*) = 1;
如果时间/课程组合只有一行,则max(horse)
返回那匹马的名字。
答案 1 :(得分:1)
您需要按from flask import Flask
from flask_restful import Resource, Api, reqparse
app = Flask(__name__)
api = Api(app)
class Classifier(Resource):
def get(self):
parser = reqparse.RequestParser()
parser.add_argument('sepal_length', type=float)
parser.add_argument('sepal_width', type=float)
parser.add_argument('petal_length', type=float)
parser.add_argument('petal_width', type=float)
args = parser.parse_args()
print(f"Arguments: {args}")
result = "Iris-setosa"
return f"Classification result for args {args}: {result}"
api.add_resource(Classifier, '/classify')
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
分组,然后仅过滤具有1个成员的组:
TheTime