1 python melaporkan ralat semasa menjalankan pernyataan mysql
Seperti yang kita sedia maklum, python mempunyai mekanisme terjemahan %s dan %d akan diterjemahkan ke dalam rentetan atau nombor, dan kabur pertanyaan sql juga perlu digunakan Oleh %, apabila semua pertanyaan kabur dilakukan, ia akan menjadi sangat memalukan jika keadaan pertanyaan menjadi pembolehubah.
Penyelesaian sebenarnya sangat mudah, cuma keluarkan rentetan yang perlu ditanya kabur dari sql dan sambungkannya bersama
Cara yang salah
<code>shopId = "zbw_010002"</code><code><br></code><code>'''select * from base_saleflows where shopId='{0}' and card_id is not NULL and standard_cls4 like "%湿巾%" '''.format(shopId)</code>
Mendapati bahawa ada sesuatu yang tidak kena, mysql tidak boleh menjalankan pernyataan sedemikian.
rreee
Hasilnya ialah
<code>args='%湿巾%'</code><code>shopId = "zbw_010002"</code><code>mysql_sentence='''select a.shopId, a.sale_money,a.card_id ,a.standard_cls4 from base_saleflows a join base_vips b on a.card_id = b.card_id where a.shopId='{0}' and a.card_id is not NULL and a.standard_cls4 like '{1}' '''.format(shopId,args)</code><code>print(mysql_sentence)</code><code><br></code>
2 Pengumpulan rentetan dan penyambungan
Kumpulkan lajur cls3 mengikut aliran_no siri dan rentetan sambungan Simbol penyambungan ialah '-'
select * from base_saleflows a join base_vips b on a.card_id = b.card_id where a.shopId='zbw_010002' and a.card_id is not NULL and a.standard_cls4 like '%湿巾%'
Permohonan: Mengikut (tahun, suku, nombor cawangan, jenis kain lap basah) Kumpulan setiap suku Bilangan pelanggan baharu
Empat Diperoleh daripada cap masa tahun, bulan dan suku
# 分组拼接result = vipsaleflow_common.pivot_table(values='standard_cls3',index='flow_no',aggfunc=lambda x:x.str.cat(sep='-'))
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat semasa menjalankan pernyataan mysql dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!