假设 users 表有字段username
, email
, first_name
, last_name
。您需要获取数据username
和email
.
如果您仅调用这些字段,并且相应地,如果您调用所有字段并仅获取必要的字段。
假设 users 表有字段username
, email
, first_name
, last_name
。您需要获取数据username
和email
.
如果您仅调用这些字段,并且相应地,如果您调用所有字段并仅获取必要的字段。
请帮我实现这个方法,我是 Flutter 的新手。
如何使用 Provider 来实现
(不仅 Provider 是可能的,对我来说最主要的是了解如何在实践中实现和应用)
当您单击“购买”按钮时(在本例中我只有一个),从列表中传输数据,仅“Orange”*(如果“Mandarin”-则数据“Mandarin”)*
同时,如果您单击“下订单”按钮,则会删除第一个屏幕中的数据。
List <String> Name = ['Апельсин', 'Мандарин', 'Помидор'];
List <int> Price = [70,60,80];
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
debugShowCheckedModeBanner: false,
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Main'),
),
body: ListView.builder(
itemCount: Name.length,
itemBuilder: (BuildContext context, int index) {
return Card(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: EdgeInsets.only(left: 10, top: 50, bottom: 50),
child: Text(Name[index].toString()),
),
Row(children: [
Padding(
padding: EdgeInsets.only(left: 100, top: 50, bottom: 50),
child: Text(Price[index].toString()),
),
Padding(
padding: const EdgeInsets.only(left: 100),
child: Column(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextButton(onPressed: (){Navigator.push(context,
CupertinoPageRoute(builder: (context) => const SalePage()));}, child: const
Text('Купить')),
],
),
)
]),
],
),
);
},
),
);
}
}
有源数据按ID排序
ID | 书号 |
---|---|
306 | 51 |
305 | 48 |
304 | 51 |
303 | 48 |
第302章 | 51 |
301 | 51 |
300 | 13 |
MySQL:SELECT id, book_id FROM chapters ORDER BY id DESC LIMIT 5;
拉拉维尔:Chapter::select('id', 'book_id')->orderBy('id', 'DESC')->take(5)->get();
现在一切都是正确的,但没有分组。
向请求添加分组:
MySQL:SELECT id, book_id FROM chapters group by book_id ORDER BY id DESC LIMIT 5;
拉拉维尔:Chapter::select('id', 'book_id')->groupBy('book_id')->orderBy('id', 'DESC')->take(5)->get();
我们到达出口
ID | 书号 |
---|---|
303 | 48 |
301 | 51 |
300 | 13 |
... | ... |
问题:如何以这样的方式(MySQL 或 Laravel)构造一个查询,使输出按“id”精确排序并且没有重复的“book_id”?
也就是说,相对于源表,您需要得到如下内容:
ID | 书号 |
---|---|
306 | 51 |
305 | 48 |
300 | 13 |
... | ... |
员工表 EMP:EMP_ID - 员工标识符 DATE_FROM - 工作开始日期 DATE_TO - 工作结束日期
EMP_ID DATE_FROM DATE_TO
1 01.01.2022 31.12.2022
2 01.01.2022 31.12.2022
VAC 休假表: VAC_ID - 休假标识符 EMP_ID - 员工标识符 DATE_FROM - 休假开始日期 DATE_TO - 休假结束日期
VAC_ID EMP_ID DATE_FROM DATE_TO
1 2 03.02.2022 10.02.2022
7 2 03.04.2022 10.04.2022
EMP_ID - 员工标识符 VAC_ID - NULL,如果员工在此间隔期间工作/假期标识符,如果他正在休假 DATE_FROM - 间隔的开始日期 DATE_TO - 间隔的结束日期
我无法在 sql 中想出简单的解决方案(只有在 pl/sql 中有效的东西)。
如何显示每个员工的休假/不休假状态间隔?
with employees as (
select 1 as emp_id, to_date('01.01.2022', 'dd.mm.yyyy') as date_from, to_date('31.12.2022', 'dd.mm.yyyy') as date_to from dual
union all
select 2 as emp_id, to_date('01.01.2022', 'dd.mm.yyyy') as date_from, to_date('31.12.2022', 'dd.mm.yyyy') as date_to from dual
)
, vacations as (
-- первый работник в отпуск не ходил
-- второй работник был два раза в отпуске в середине периода
select 1 as vac_id, 2 as emp_id, to_date('03.02.2022', 'dd.mm.yyyy') as date_from, to_date('10.02.2022', 'dd.mm.yyyy') as date_to from dual
union all
select 7 as vac_id, 2 as emp_id, to_date('03.04.2022', 'dd.mm.yyyy') as date_from, to_date('10.04.2022', 'dd.mm.yyyy') as date_to from dual
)
你需要这个结果:
EMP_ID VAC_ID DATE_FROM DATE_TO
1 null 01.01.2022 31.12.2022
2 null 01.01.2022 02.02.2022
2 1 03.02.2022 10.02.2022
2 null 11.02.2022 02.04.2022
2 7 03.04.2022 10.04.2022
2 null 11.04.2022 31.12.2022
有表1
评论 | ID | 内容 | 是正面内容 | 用户 | 内容ID |
---|---|---|---|---|---|
表2
REVIEWS_REACTIONS | 评论ID | 用户 | 是阳性反应 |
---|---|---|---|
我们需要一个sql查询,它将返回表1和一个附加字段,其中列中包含表2的正值和负值之间的差异isPoitiveReaction